/*
两个已排序的整型数组，
求交集，最快

算法输入：两个已排序的整型数组（int a[m], b[n]）
输出：两个数组的交集

*/

#include "junix.h"

void my_includes(int a[], int asz, int b[], int bsz) {
	int ai=0,bi=0;
	while (ai<asz && bi<bsz) {
		if (a[ai]==b[bi]) {
			std::cout<<a[ai]<<" ";
			++ai;
			++bi;
		} else if (a[ai] > b[bi]) {
			++bi;
		} else {
			++ ai;
		}
	}
}	

int main(){
	int a[]={1,2,4,5,6,7,8,9};
	int b[]={0,4,5,6,7,7,8,9,56,88};
	my_includes(a,sizeof(a)/sizeof(a[0]),b,sizeof(b)/sizeof(b[0]));
}
